/* UNIVERSIDADE FEDERAL DE CAMPINA GRANDE - UFCG
 * Disciplina: Laboratorio de Estrutura de Dados
 * Professor: Marco Aurelio Spohn
 * Alunos: Alexandre Sales Vasconcelos       Mat.: 20621146
 * Atividade 3
 */

/**
 * Classe que implementa uma pilha
 *
 * @version 1.0 2008/05/05
 * @author Alexandre Sales
 * @see <a href="http://lab.eda.ufcg.googlepages.com/pilhas"> Atividade 3 Problema 1 e 2</a>
 */

public class Pilha {
	
	Nodo topo = null;

	/**
	 * Metodo para adicionar um novo No a pilha.
	 * 
	 * @param novoNo No a ser adicionado.
	 */
	public void addPilha(Nodo novoNo) {
		novoNo.setProximo(topo);
		topo = novoNo;
	}

	/**
	 * Metodo que verifica se a Pilha esta vazia
	 * 
	 * @return Uma booelan com a informacao se esta vazia ou nao.
	 */
	public boolean isEmpty() {
		return (topo==null ? false : true);
	}

	/**
	 * Metodo que retira o no do topo da pilha.
	 * 
	 * @return Um Nodo que estava no topo da pilha.
	 */
	public Nodo getNo() {
		Nodo aux = topo;
		if (isEmpty()) { 
			topo = topo.getProximo();
		} else {
			topo = null;
		}
		return aux;
	}

}
